api 什么 rgs new auth 单身 mar name
- [Authorize]
- public ContentResult Index2()
- {
- returnContent("验证通过了");
- }
- 经常能够看到某个Controler下的Action通过这个标签进行登录权限状态的校验,否则该Action不执行。但是满足什么条件才能通过Authorize这个过滤器的校验呢?答案:↓
- public webApiApplication() {
- PostAuthenticateRequest += WebApiApplication_PostAuthenticateRequest;
- }
- /// <summary>
- /// 获取到了用户的身份信息
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- private void WebApiApplication_PostAuthenticateRequest(object sender, EventArgs e) {
- //身份验证逻辑
- //关键代码
- HttpContext.Current.User = new MyUser() {
- code = "admin",
- name = "admin"
- };
- }
在 Global.asax 中添加如下代码即可。意思就是在 application 管道事件中触发了 "获取到了用户身份信息" 的事件里,获取用户身份信息并进行校验后,给 HttpContext.Current.User 赋值即可。需要注意的是,MyUser 需要实现 IPrincipal 接口。
感悟:
天天都在谈论各种高深的技术、各种装逼,最简单的基本应用都不知道,代码跟了半天才找到,问题是问了一圈都不知道,哎……
asp.net mvc 最简单身份验证 [Authorize] 通过的标准
来源: http://www.bubuko.com/infodetail-2084553.html