今天嘗試開發使用者登入模組!結果失敗了,用access開發,本來希望能實現orm對映的,但是發現用在使用者登入這一塊太複雜。而且如果要管理使用者,新增刪除修改,用datatable儲存查詢結果,並將資料來源繫結到datagridview明顯更加方便!可能是我沒有習慣吧!
明天繼續弄!(19:58:06)
用別人寫的類不習慣,應該有兩方面原因:別人寫的類不能完全滿足要求,寫的不太合理;其二就是自己用的太少。
把登入的**寫在mainform_load事件中還是寫在program中main主函式中?我現在也不知道到底哪一種好。似乎應該寫在main函式中。不過如果寫乙個controller,將登入和主窗體作為他的變數,通過controller函式了控制應該會容易很多吧!mvc這樣的機制還是應該學習一下的。(09:16:27)
oledbdataadaper.update(dataset ds,tablename name) 總是報"insert into 的語句語法錯誤",解決方法。
oledbdataadapter olesub=new oledbdataadapter(sql,olecn);
oledbcommandbuilder cb1=new oledbcommandbuilder(olesub);
cb1.quoteprefix="[";
cb1.quotesuffix="]";(16:46:03)
這裡寫兩段**希望比較一下下面的幾種登入方法:
1. 初始化mainform的load事件是驗證登入
這三種方法都需要將使用者的登入資訊傳入主窗體,進而定製使用者選單。
那種使用者登入的方式更好。首先是資料庫users表設計,(如果是基於角色的許可權管理,顯然還應該有兩張錶即角色表、角色功能對照表和功能表這裡先不搞那麼複雜):
欄位名稱
字段描述
字段型別
user_id
使用者編號
intuser_name
使用者名稱varchar(64)
password
使用者密碼
varchar(64)
role
角色int
第一種方法分析:因為在mainform執行load事件之前,建構函式已經執行(通過執行initialcomponent函式實現),所以通過ide設計的主窗體的使用者介面已經存在,使用者登入會受影響。不過如果通過配置檔案構造窗體,這個應該也能夠滿足要求,顯示給使用者乙個空的主窗體。
第二種方法**:
//////應用程式的主入口點。
/// [stathread]
static
provider=microsoft.jet.oledb.4.0;data source=|datadirectory|\\floor.mdb
"; #region 登入
login m_login = new login();
if (m_login.showdialog() != dialogresult.ok)
#endregion
登入窗體**
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
using system.data.sqlclient;
using windbmeans;
using system.data.oledb;
namespace housemange //
set
} //
private bool issuccess = false;
//登入是否成功
第三種方法**:在《c#專案開發案例全程實錄》一書中大量使用了這一方法。
這種方法因為mainfrom是login窗體的乙個區域性變數,所以在主窗體退出時,login窗體仍然沒有銷毀,所以需要強制退出!
使用者登入 單點登入
首先是為啥要用單點登入的問題,單點登入也就是sso sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。1 任何系統都必須去登陸伺服器進行登入 2 伺服器就記住了登入狀態 3 其他系統訪問受保護資源,需要再次登入,跳轉到sso server登入的時候,伺服器告訴客戶端,已...
登入方案 使用者單點登入
在微服務專案中,由於使用者往往需要通過閘道器訪問多個微服務,如登入需要訪問使用者微服務,商品瀏覽需要訪問商品微服務,下單需要訪問訂單微服務,支付需要訪問支付微服務。但如何防止使用者操作其他使用者的資料,這就需要在各個微服務中增加授權認證。每個服務都要認證使用者的身份,身份認證成功後,需要識別使用者的...
使用者登入驗證
一 sql資料庫聯合查詢有四種 1 內連線 inner join 2 左連線 left outer join 3 右連線 right outer join 4 外連線 full outer join 舉例 select a.studentname,b.testtime,b.chengji from ...