91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.Net實現用戶權限管理

發布時間:2020-07-10 13:16:59 來源:網絡 閱讀:499 作者:muzizongheng 欄目:編程語言
一、 ASP.Net提供對于權限安全提供的技術
Authentication(驗證)         MembershipProvider (用保存的信息驗證用戶是
Authorization(授權)            RoleProvider (實現用戶和角色的映射,允許用戶 可以做什么

二、 Membership Service介紹

Membership公開了大部分的Membership Service API 允許執行各種任務:
創建 /更新/ 刪除/找回 Membership用戶。
MembershipUser 是已存在的membership 用戶的一個運行時表現。允許:
更改 /重置密碼

Membership類中的所有方法都是接受 /返回一個或者一組MembershipUser的實例

三、 RoleProvider介紹

RoleProvider提供了基于數據存儲的角色管理, 可以從數據源保存或者讀取角色信息。
四、場景應用
MemberShip類有多個靜態方法, 比如 ValidateUserCreateUser 等等, Asp.Net內部調用相關方法實現用戶管理。

Roles類有多個靜態方法, 比如 IsUserInRoleAddUsersToRole 等等,Asp.Net內部調用相關方法實現角色管理。


五、VS工程配置
1. 添加User和Role的配置
web.config里添加使用Provider的節點。其中CustomMembershipProvider和CustomRoleProvider是我們實現上面接口的類。

  <membership defaultProvider="CustomMembershipProvider">       <providers>         <clear />          <add name="CustomMembershipProvider" type="UIH.PACS.AuthorizationUtility.CustomMembershipProvider" connectionStringName="uihrisdbEntities" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" description="Stores and retrieves membership data from the local Microsoft SQL Server database" />       </providers>     </membership>

   <roleManager enabled="true" defaultProvider="CustomRoleProvider">
      <providers>
        <clear />
        <add name="CustomRoleProvider" type="UIH.PACS.AuthorizationUtility.CustomRoleProvider" applicationName="/" />
      </providers>
    </roleManager>


2.添加Form驗證
    <authentication mode="Forms">      <forms loginUrl="~/Account/LogOn" defaultUrl="~/PatientAdmin/Index" timeout="2880" />    </authentication>
 3.LogOn方法中的使用 
         [HttpPost] 
       public ActionResult LogOn(LogOnModel model, string returnUrl)         {             if (ModelState.IsValid)             {                 if (Membership.ValidateUser(model.UserName, model.Password))                 {                     FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);                     if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")                         && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))                     {                         return Redirect(returnUrl);                     }                     else                     {                         FormsAuthentication.RedirectFromLoginPage(model.UserName, false);                           //return RedirectToAction("Index", "PatientAdmin");                     }                    }                 else                 {                     ModelState.AddModelError("", "The user name or password provided is incorrect.");                 }             }               // If we got this far, something failed, redisplay form             return View(model);         } 
 4.繼承AuthorizeAttribute屬性, 重載bool AuthorizeCore(HttpContextBase httpContext)方法,在方法中調用權限管理的接口。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大安市| 平遥县| 长阳| 抚州市| 霍邱县| 偃师市| 东乡族自治县| 南投市| 密云县| 尼木县| 西平县| 南汇区| 于田县| 苍梧县| 抚顺县| 威信县| 石家庄市| 梁平县| 垣曲县| 田阳县| 乌恰县| 鲁山县| 丰都县| 大埔区| 务川| 泰安市| 淮安市| 滨州市| 绥棱县| 涿州市| 阳原县| 龙南县| 遂溪县| 和林格尔县| 云安县| 临清市| 元朗区| 团风县| 南陵县| 柳林县| 长宁县|