激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - asp.net 基于forms驗證的目錄角色權限的實現

asp.net 基于forms驗證的目錄角色權限的實現

2019-06-23 10:21ASP.NET之家 ASP.NET教程

一個系統中經常有多種身份的用戶,往往要根據其身份來控制目錄的訪問權限。asp.net提供了forms驗證,能夠輕易的在配置文件中設置用戶對目錄的訪問權限.

但是我在使用過程中,發現針對角色的控制并不是那么容易,通過在網上查找資料,終于解決這個問題。下面將主要的注意事項列出來。
1、配置文件中,角色的allow項要放在deny項的前面,users要配置為*,而不是? 

代碼 
復制代碼代碼如下:

<location path="Doctors"> 
<system.web> 
<authorization> 
<allow roles="doctors"/> //這個在前 
<deny users="*"/> 
</authorization> 
</system.web> 
</location> 

2、將角色寫入票據 

代碼 
復制代碼代碼如下:

string role="doctors"; 
FormsAuthenticationTicket Ticket = new FormsAuthenticationTicket(1, username, DateTime.Now, DateTime.Now.AddMinutes(30), false, role, "/");//建立身份驗證票對象 
string HashTicket = FormsAuthentication.Encrypt(Ticket);//加密序列化驗證票為字符串 
HttpCookie UserCookie = new HttpCookie(FormsAuthentication.FormsCookieName, HashTicket); 
//生成Cookie 
Response.Cookies.Add(UserCookie);//輸出Cookie 
Response.Redirect("");//重定向到用戶申請的初始頁面 

3、身份票據并沒有直接提供對role的直接支持,需要在Application_AuthenticateRequest中對role進行解析 

代碼 
復制代碼代碼如下:

string[] roles = authTicket.UserData.Split(new char[] { '|' }); 
FormsIdentity id = new FormsIdentity(authTicket); 
System.Security.Principal.GenericPrincipal principal = new System.Security.Principal.GenericPrincipal(id, roles); 
Context.User = principal; 

大致弄清這三點,就可以了。 
代碼打包

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美成人一级片 | 97伦理| 欧美日韩一区三区 | 欧美精品一区二区三区四区 | 午夜精品福利影院 | 一边吃奶一边摸下娇喘 | av在线免费看网址 | 主人在调教室性调教女仆游戏 | 亚洲成人福利网站 | 99精品国产成人一区二区 | 视频一区二区精品 | 九九热视频这里只有精品 | 欧美国产一区二区三区激情无套 | 成人福利视频 | 9999免费视频 | 激情视频免费观看 | 久久国产28 | 粉嫩av一区二区三区四区在线观看 | 神马顶级推理片免费看 | 91一级毛片| 日本成人午夜视频 | 99re热视频这里只精品 | 麻豆视频在线免费观看 | 久久精品一二三区白丝高潮 | 渔夫荒淫艳史 | 久久精品re | 欧美日韩精品一区二区三区不卡 | 一本色道久久综合狠狠躁篇适合什么人看 | 精品伊人 | 精品亚洲一区二区 | 越南一级黄色片 | 曰本三级日本三级日本三级 | 久久久毛片视频 | 国产污污视频 | 亚洲一区二区三区日本久久九 | 青青青在线免费 | 国产一有一级毛片视频 | 亚洲精品一区中文字幕 | 亚洲精品v天堂中文字幕 | 久久av免费观看 | 激情大乳女做爰办公室韩国 |