我有自定义授权的这个问题我的视图的一些部分(我不想放在PartialView上),而是我使用If语句如下:
@if (item.CurrentComment.Id == Guid.Parse(ViewBag.UserId) || repository.IsUserInRoles(Guid.Parse(ViewBag.UserId),"Manager") )
{
<dd>
<a href="@Url.Action("EditComment", "Ticketing",new { id = item.CurrentComment.Id, ticketId = Model.Tickets.CurrentTicket.Id })" class="btn btn-primary btn-sm" data-toggle="tooltip" data-placement="left">Edit</a>
</dd>
<dd>
<a href="@Url.Action("RemoveComment", "Ticketing",new { id = item.CurrentComment.Id, ticketId = Model.Tickets.CurrentTicket.Id })" class="btn btn-danger btn-sm" data-toggle="tooltip" data-placement="left">Remove</a>
</dd>
}
目前我在我的控制器中获取了UserId并使用如下的ViewBag传递它:
ViewBag.UserId = User.Identity.GetUserId();
但我想知道如何直接在剃刀中调用GetUserId方法,所以我不再使用ViewBag发送它.我尝试过使用User.Identity.但是方法是未知的,我认为它不知道扩展名.有办法吗?
解决方法:
在视图文件的顶部添加以下using语句.
使用Microsoft.AspNet.Identity;
在此之后,你应该可以使用
User.Identity.GetUserId()