我有一个MVC3应用程序,它使用visual studio附带的标准accountcontroller对用户进行身份验证。
我想与人分享我的计划的特定部分,就像google docs中的google share文档一样,当你通过电子邮件这样做时;换句话说,我不想让任何人访问这些页面(在这种情况下我可以删除Authorize属性)但我确实希望用户根据带有哈希的url共享页面,让他们跳过登录。
我想我想基于页面生成哈希并将其链接到匿名用户,如果哈希值正确则必须自动登录
我该怎么做?
答案 0 :(得分:1)
public class SharedAuthorize:AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { var documentHash = int.Parse(filterContext.RouteData.Values["hash"].ToString()); if (!HashRepository.CanWeRead(documentHash,controller, action, documentId)) { return false; } return true; } }
这只是一个想法=))