Ima*_*idi 2 asp.net-mvc authorization
这是一些MCTS 70-515考试练习测试的问题.
请帮助正确的2个答案
您正在实现一个允许用户查看和编辑数据的ASP.NET MVC 2 Web应用程序.您需要确保只有登录用户才能访问控制器的"编辑"操作.您可以添加到"编辑"操作以实现此目标的两个可能属性是什么?
(每个正确答案都提供了完整的解决方案.选择两个.)
看看AuthorizeAttribute节目的源代码,没有通配符"*".
如果[Authorize(Users = "")]导致"没有人"可以访问该动作是没有意义的.
AuthorizeAttribute的源代码
protected virtual bool AuthorizeCore(HttpContextBase httpContext) {
if (httpContext == null) {
throw new ArgumentNullException("httpContext");
}
IPrincipal user = httpContext.User;
if (!user.Identity.IsAuthenticated) {
return false;
}
if (_usersSplit.Length > 0 && !_usersSplit.Contains(user.Identity.Name, StringComparer.OrdinalIgnoreCase)) {
return false;
}
if (_rolesSplit.Length > 0 && !_rolesSplit.Any(user.IsInRole)) {
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
而Role和Userspropertie.
public string Roles {
get {
return _roles ?? String.Empty;
}
set {
_roles = value;
_rolesSplit = SplitString(value); // simple split by comma
}
}
public string Users {
get {
return _users ?? String.Empty;
}
set {
_users = value;
_usersSplit = SplitString(value); // simple split by comma
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2088 次 |
| 最近记录: |