我正在尝试限制来自一个特定域的用户对一个控制器的访问。我认为以下内容可行:
[Authorize(Users = "*@domain.com")]
但事实并非如此。有没有办法开箱即用,或者我需要开发自己的属性?
由于
答案 0 :(得分:0)
我最终创建了一个继承自AuthorizeAttribute的属性。
public class AuthorizeEmailDomainAttribute : AuthorizeAttribute
{
// Custom property
public string EmailDomain { get; set; }
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var isAuthorized = base.AuthorizeCore(httpContext);
if (!isAuthorized)
{
return false;
}
bool isGoodDomain= httpContext.User.Identity.Name.Contains("@" + EmailDomain);
return isGoodDomain;
}
}
度过愉快的一天