我正在C#中使用MVC 5构建Web。
我见过很多网站使用API,并且希望在我的代码中实现这一点。但是,对于如何在传递密钥时进行身份验证以及如何生成keys...my问题,我有一个大致的想法:是否有一种方法可以让我的post/put/delete类使用此身份验证方法,而不必手动将其添加到所有这些方法中?
是否有任何OOB解决方案可以使整个过程更容易?
我已经谷歌了这个问题,但我觉得我可能使用了不正确的术语,这可能是为什么我没有得到任何东西。
提前感谢您的帮助!
发布于 2014-10-22 20:06:16
本质上,您要求的是MVC中存在的授权标记,它将允许您限制对授权用户的访问,然后进一步限制特定角色的用户。
实际上,您需要做的就是将标记、授权添加到任何不希望匿名用户使用的方法中。如果不希望它们访问特定的页面,只需向返回/处理视图的控制器函数添加授权即可。您还可以将其设置为使用白名单,然后只有显式标记为可用的内容才能用于匿名用户(而不是登录用户)。
关于MVC身份验证的文章:
http://msdn.microsoft.com/en-us/library/ff398049(v=vs.100).aspx
我建议完全完成这一过程,因为它是相当全面的,并且这些例子既容易理解,又易于推断。
这个MSDN站点是授权标记的一个更技术性的分解:
http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute(v=vs.118).aspx
本文中的代码示例:
[Authorize]
public class AccountController : Controller
{
public AccountController () { . . . }
[AllowAnonymous]
public ActionResult Register() { . . . }
public ActionResult Manage() { . . . }
public ActionResult LogOff() { . . . } . . .
}https://stackoverflow.com/questions/26514072
复制相似问题