asp.net-web-api – 角色提供者/成员?如何在asp.net web api?
我正在构建一个asp.net mvc web api应用程序,不知道如何进行会员资格.
在我目前的项目中,我有这个 我自己的用户表和角色表我没有使用asp.net会员资格,因为它带来了太多的包袱而且不符合我想要设计我的数据库的方式(确定我可以做到但它似乎很多工作) 用户可以拥有多个角色,角色可以拥有多个用户. 我正在使用EF来完成对数据库的几乎所有调用. 在过去的项目中,我创建了自己的授权属性,这是我自己对数据库的调用,并检查用户是否在该控制器/操作方法上允许的正确角色. 通过不做任何成员资格提供程序,我失去了一些内置函数,如User.IsInRole.我仍然可以使用User.Identity.Name,但我认为那是因为我设置的cookie. 现在在asp.net mvc 4 / web api中执行此操作的最佳方法是什么? 谷歌搜索时我找到了“SimpleMembership”,但还没读过多少内容. 另外,如果我对用户进行身份验证,我可以将User.Identity.Name与我的webapi一起使用吗? 解决方法
这是一个
article that describes how to create a custom authorize attribute for Web API’s using SimpleMembership.您不必使用SimpleMembership,虽然它非常灵活且易于使用.您可以在本文中采用相同的概念,并使用您的会员服务,只要您的服务可以验证特定用户是否在角色中,登录和注销用户,并验证他们是否经过身份验证.
如果您的服务未验证他们是否经过身份验证,您可以使用User.Identity.IsAuthenticated,您可以使用User.Identity.Name获取当前登录的用户名;假设您的服务在用户登录时正确设置了Thread.CurrentPrincipal.建议您也可以设置HttpContext.Current.User.当然,如果您使用SimpleMembership,则不必担心任何此类问题. 此自定义授权属性支持表单身份验证和基本身份验证,以防您将API公开给公众.它与控制器上使用的授权属性的不同之处在于,如果未经授权,则返回HTTP状态代码Forbidden;如果未经过身份验证,则返回Unauthorized;而不是重定向到登录页面. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在数组中使用jqAutocomplete
- .NET生成服务引用时加载错误的程序集
- asp.net-mvc-3 – Autofac属性注入
- asp.net-mvc-4 – 使用基于声明的授权
- asp.net – 管理web.config文件
- asp.net-mvc – Asp mvc 3 noobie:为什么代码优先方法不在
- asp.net-mvc-2 – Asp.Net MVC DropDownList数据绑定
- 新的ASP.NET Web应用程序:有一个Login按钮可以执行某些操作
- asp.net-mvc – ASP.NET MVC RC中的Html.Image在哪里?
- asp.net – Response.Flush()仅适用于Firefox
- asp.net-mvc – 跨多个页面的MVC3 RenderPartial
- asp.net – 每个会话的NH请求 – “会话已关闭!
- asp.net-web-api2 – 创建新的IHttpActionResult
- 如何获取基于PhoneGap的应用程序来对ASP.NET For
- 身份验证 – 向webapi承载令牌添加额外的详细信息
- ASP.NET有一个复选框列表,在4×5网格中有我很好的
- .net – 在WebApi中,我应该在哪里调用ActionFilt
- 如何更改asp.net identity 3(vnext)使用的表名?
- 禁用ASP.Net ReportViewer控件上的分页
- asp.net-mvc – ASP.NET MVC:确保用户始终拥有会