Không thêm AuthorizationAttribute vào phương thức hành động của bạn, nơi bạn chưa bao giờ yêu cầu.
thuộc tính tùy chỉnh của tôi
public class AuthorizationFilterAttribute : AuthorizeAttribute
{
Some code...
}
điều khiển của tôi
public class UserController : BaseController, IDisposable
{
[AuthorizationFilterAttribute]
public ActionResult UserList()
{
//Authorize attribute will call when this action is executed
}
public ActionResult AddUser()
{
//Authorize attribute will not call when this action is executed
}
}
Tôi hy vọng bạn có quan điểm của tôi là những gì tôi đang cố gắng để nói rằng bạn.
================= Câu trả lời được cập nhật ========================== ===================== Tạo một thuộc tính khác như dưới đây.
public sealed class AnonymousAttribute : Attribute { }
Vui lòng đặt mã bên dưới vào phương thức OnAuthorization của bạn.
public override void OnAuthorization(AuthorizationContext filterContext) {
bool checkForAuthorization = filterContext.ActionDescriptor.IsDefined(typeof(AnonymousAttribute), true)
|| filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AnonymousAttribute), true);
if (!skipAuthorization) {
base.OnAuthorization(filterContext);
}
}
Nguồn
2012-03-06 10:02:46
'(1):' Không chắc tôi hiểu bạn, một số mã sẽ tốt. '(2):' Bạn có thể thêm các thuộc tính ủy quyền trên các phương thức hành động. – gideon
Bạn có thể tạo phiên bản Thuộc tính của riêng mình. http://stackoverflow.com/questions/746998/override-authorize-attribute-in-asp-net-mvc – Tx3
Gee, mọi người dường như không hiểu bạn :). Tôi hiểu, nhưng tôi muốn có một giải pháp vì tôi có cùng một vấn đề. Bạn đã tìm thấy một cái gì đó trong thời gian chờ đợi? –