graastein Skrevet 21. mai 2008 Rapporter Del Skrevet 21. mai 2008 (endret) Hei I programmet skal det sjekkes mot en database når brukeren logger inn hvilken gruppe han er medlem i. Avhengig av dette får han forskjellig tilgang i programmet. Er det noen innebygd funksjon i .net for å sette rettighetsnivåer på f. eks knapper i en winform? Slik at jeg kan sette at en knapp skal ha nivå 2 og kun grupper med tilgang på det nivået får enablet knappen? Endret 21. mai 2008 av graastein Lenke til kommentar
Manfred Skrevet 21. mai 2008 Rapporter Del Skrevet 21. mai 2008 Enkelt og greit Dette må du nok håndtere selv. Det er ikke GameMaker heller hehe Lenke til kommentar
HDSoftware Skrevet 22. mai 2008 Rapporter Del Skrevet 22. mai 2008 Hei I programmet skal det sjekkes mot en database når brukeren logger inn hvilken gruppe han er medlem i. Avhengig av dette får han forskjellig tilgang i programmet. Er det noen innebygd funksjon i .net for å sette rettighetsnivåer på f. eks knapper i en winform? Slik at jeg kan sette at en knapp skal ha nivå 2 og kun grupper med tilgang på det nivået får enablet knappen? Heisan Jeg er "snart" i samme situasjon fordi vi har i vårt system samme rettighetsproblematikk der en bruker kan ha tilgang til ting andre brukere ikke har. F.eks. muligheten til å endre på rabatt felter på en faktura. Og jeg har i min uvitenhet tenkt å gjøre noe slik; foreach(Control c in Controls) ThisSecurity.SetRights(c) der ThisSecurity er et objekt av en klasse jeg selv har laget, som håndterer brukeren og gruppene han/hun er medlem av. Dette kompilerer med ca 1% sansynlighet fordi jeg bare har dette sånn sirka i tankene, men prinsippet vil være noe slikt. Lenke til kommentar
j000rn Skrevet 22. mai 2008 Rapporter Del Skrevet 22. mai 2008 (endret) btAdminNoe.Visible = btAdminNoeAnnet.Visible = etc = Thread.CurrentPrincipal.IsInRole("EnWindowsGruppe"); og: [PrincipalPermissionAttribute(SecurityAction.Demand, Role="EnWindowsGruppe")] internal void EnFunksjon() { // etc... } Endret 22. mai 2008 av jorn79 Lenke til kommentar
brgr Skrevet 25. mai 2008 Rapporter Del Skrevet 25. mai 2008 Det du kan gjøre er jo å ha for deg en liste over knapper som skal være tilgjengelige ved de forskjellige nivåene. Hvordan du holder denne listen er jo opp til deg. Men det som er best er att denne listen ikke ligger som .txt fil eller annet ettersom da kan brukeren bare endre filen slik at han hun får tilgang til alt. Henter først nivået brukeren er ifra databasen, dette bør ikke lagres i en variabel, men hentes ut for hver gang for å sikre att ingen som driver reversed engineer kan reversere og bare sette nivået selv. Så kjører du noen løkker: input eksempel [navn på objekt as string], [nivå som integer] slett,10 rediger,5 ny,5 så kjører vi en loop igjennom dette.. Dim linjer As String() = Split(input, vbnewline) for each x as string in linjer() Dim pars As String() = Split(x, ",") Dim name as String = pars(0) Dim lvl as Integer = Val(pars(1)) if lvl > [innloggetnivå] then _ Form1.Controls(name).Visible = True next x Håper dette hjalp deg litt på vei. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå