Pav*_*vel 5 asp.net asp.net-mvc-5 asp.net-identity-2
我想将查看可由授权和匿名用户访问的网页的数据库(日期和用户)保存在数据库中。有没有一种方法可以使操作同时使用这两种类型,因为如果操作是[AllowAnonymous],则用户未经身份验证,我无法检索用户 ID,如果操作是[Authorize]匿名用户,则无法访问该页面。
[HttpGet]
[Route("{id}/Detail")]
[AllowAnonymous]
[ResponseType(typeof(JsonArticleDetail))]
public IHttpActionResult GetArticle(int id)
{
...
var entity = this.DbContext.Articles.Find(id);
var applicationUserId = User.Identity.IsAuthenticated ? User.Identity.GetUserId() : null;
entity.ArticleViews.Add(new ArticleView
{
ViewedOn = DateTime.UtcNow,
ApplicationUserId = applicationUserId
});
this.DbContext.SaveChanges();
return Ok(article);
}
Run Code Online (Sandbox Code Playgroud)
解决方案是同时采取[AllowAnonymous]和[Authorize]行动
[AllowAnonymous]
[Authorize]
public IHttpActionResult GetArticle(int id)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1562 次 |
| 最近记录: |