У меня есть библиотека классов, которая содержит мой уровень доступа к базе данных, и я использую ее во всех моих проектах, которые работают с этой БД, теперь я хочу интегрировать безопасность в эту библиотеку, чтобы я мог возвращать разные данные для разных ролей безопасности. Каков наилучший способ достичь этого с помощью встроенной безопасности .NET? Я думал использовать System.Security.Permissions.PrincipalPermission, но я не вижу, как это может мне помочь, потому что любой, кто использует мою библиотеку, может написать клиентское приложение вроде этого
GenericIdentity genericIdentity = new GenericIdentity("User");
GenericPrincipal genericPrincipal = new GenericPrincipal(genericIdentity, new[] { "Administrator" });
Thread.CurrentPrincipal = genericPrincipal;
И они пройдут все мои требования главного разрешения
PrincipalPermission principalPermission = new PrincipalPermission(null, "Administrator");
principalPermission.Demand();
даже не аутентифицируясь. Либо я не понимаю эту модель безопасности, либо она просто ничего не защищает.