[英]how to make different authentication in asp.net c# web form?
我們在網站中分為兩部分進行身份驗證。 Web配置代碼:第一次在admin中使用,第二次用於用戶進入site。當在站點中進行admin身份驗證並轉到用戶頁面時,出現錯誤。如何為這些用戶創建不同的身份驗證?
<authentication mode="Forms">
<forms loginUrl="~/admin/Login.aspx" timeout="2880" />
</authentication>
根據您在評論中的回復...
我們會讀取用戶的登錄權限。當我使用User.Identity.IsAuthenticated時,其返回true。但是,此Authenticated for admin。如何為用戶設置不同的Authenticated?
檢查用戶是否已通過身份驗證與檢查用戶的權限不同。 身份驗證僅告訴您訪問您網站的人已經對自己進行了身份驗證(即登錄其帳戶)。
您的方程式中缺少的是授權階段(記住大學/大學?每個人都獲得了身份證,進入大學/大學的理由是您對自己進行身份驗證,工作人員也進行了身份驗證,學生將無權進入員工室或執行某些任務,但工作人員會這么做)。
我們使用所謂的Roles
,每個用戶都應該有一個Role
。 每個Role
都應具有與其相關聯的一組Permissions
,現在,我不必擔心Permissions
因為它可以很快地變得非常復雜,如果您現在僅關注“實施角色”,那么就足夠了。
一旦每個用戶都具有與他們的帳戶相關聯的角色,您就可以檢查他們的Role
而不是僅對他們進行身份驗證,這不會告訴您太多。
應當已經在框架中實現了GetUserRoles()
的IPrinciple
接口擴展方法,即User.Identity.GetUserRoles()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.