问题
I have an Action result
[Authorize(Roles = "Administrator,Paidmember")]
public ActionResult ListPhotosbyModel(int? id)
{
}
If the user once he is logged in is not in one of the roles he redirected to login screen but I want them redirected to a payment page where upon successful completion the user is added to paidmember
.
How do I redirect to a payment page not the login page if not in one of those roles?
回答1:
You will need to write a custom authorization attribute like tvanfosson does in his answer Here.
You will then be able to do something like
[MyAuthorize(Roles = "Administrator,Paidmember", ViewName = "paidmember")]
This is working great for me.
回答2:
What you can do is override the Authorize attribute, and return your own ActionResult, when the Role is the wrong one.
来源:https://stackoverflow.com/questions/3265047/custom-redirection-if-roles-dont-match