Vous pouvez aussi utiliser HttpModule: - Modifier le code dans l'exemple d'application de sorte que la demande ne sait quelle page doit être demandée - évidemment vous auriez besoin de la structure DBTables suivante: - Ce link vous donnera un bon départ
maintenant, ce rugueux créer des déclarations de table vous donnerait l'ensemble suivant:
- chaque utilisateur aura un ou plusieurs UserRoles
- chaque page sera CONFIGUR peut être consulté par UserRole
Certains DDL SQL autour de l'idée:
CREATE TABLE [User](
[UserId] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [varchar](100) NOT NULL,
[SecondName] [varchar](100) NULL,
[LastName] [varchar](100) NOT NULL,
[DomainName] [varchar](100) NOT NULL,
[UserRoleId] [int] NOT NULL,
[Password] [nvarchar](100) NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[UserRole](
[UsersRoleId] [int] IDENTITY(1,1) NOT NULL,
[RoleId] [int] NOT NULL,
[UserId] [int] NOT NULL
) ON [PRIMARY]
CREATE TABLE [ga].[Roles](
[RoleId] [int] IDENTITY(1,1) NOT NULL,
[RoleName] [varchar](50) NOT NULL,
[RoleDefinition] [varchar](1000) NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Page](
[PageId] [int] IDENTITY(1,1) NOT NULL,
[PageName] [varchar](200) NOT NULL,
[PageDescription] [varchar](max) NOT NULL,
[PageTitle] [varchar](50) NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[PagePerUserRole](
[PageForRoleId] [int] IDENTITY(1,1) NOT NULL,
[UserRoleId] [int] NOT NULL,
[PageId] [int] NOT NULL
) ON [PRIMARY]
GO
OU CustomBaseClass
fondamentalement la même, mais vérifierait si l'utilisation a accès à un événement très précoce de la Le cycle de vie de la page asp.net - tel que OnInit
Ce dernier est de manière plus peu orthodoxe - mais j'ai écrit une application en utilisant un mécanisme d'authentification compliqué (en utilisant le 3-ème logiciel) et il semble fonctionner pendant un certain temps dans la production;
Dois-je utiliser les contrôles de connexion intégrés sur mon site ou puis-je ajuster les rôles dans le code existant? – Caveatrob