Я новичок в авторизации и безопасности приложений. Я основываюсь на своих приложениях angularjs и web api, которые используют Owin и AspNet.Identity.EntityFramework. Мне удалось заставить авторизацию работать, чтобы заставить пользователя зарегистрироваться или войти в приложение. Теперь я смотрю, как добавить более конкретный доступ, такой как роль администратора или конкретного пользователя, для просмотра более чувствительных данных. Я начал с атрибута [Authorize]
. Это заставило безопасность. Затем я добавил [Authorize(User="tbryant")]
, который не разрешил другим пользователям и даже пользователю tbryant войти. В таблице AspNetUsers tbryant есть имя пользователя.Авторизироваться Атрибут Пользователь/Роли
Вот мои данные примеры из моего контроллера апи:
[RoutePrefix("api/Orders")]
public class OrdersController : ApiController
{
[Authorize(Users="tbryant")]
[Route("")]
public IHttpActionResult Get()
{
return Ok(Order.CreateOrders());
}
}
public class Order
{
public int OrderID { get; set; }
public string CustomerName { get; set; }
public string ShipperCity { get; set; }
public Boolean IsShipped { get; set; }
public static List<Order> CreateOrders()
{
List<Order> OrderList = new List<Order>
{
new Order {OrderID = 10248, CustomerName = "Tee Joudeh", ShipperCity = "Cleveland", IsShipped = true },
new Order {OrderID = 10249, CustomerName = "Ahmad Hasan", ShipperCity = "Columbus", IsShipped = false},
new Order {OrderID = 10250,CustomerName = "Thomas Yaser", ShipperCity = "Detroit", IsShipped = false },
new Order {OrderID = 10251,CustomerName = "Lena Jones", ShipperCity = "Ann Arbor", IsShipped = false},
new Order {OrderID = 10252,CustomerName = "Yasmeen Rami", ShipperCity = "Bamberg", IsShipped = true}
};
return OrderList;
}
}