Opravnenia   zodpovězená otázka

C#, ASP.NET WebForms

Dobry den,

mozete mi poradit sucasne najlepsi postup ak chcem spravit web cez ASP.NET WebForms kde bude cca 80 uzivatelov a sucastne je planovanych 10 roli co sa bude rozsirovat.

Kazda rola bude upravovat ine tabulky s moznostami read ci write.

Mam kazdej roli mam spravit vlastnu aspx stranku?

Viete mi poskytnut priklad na co sa mam zamerat, prestudovat, ci poskytnut link na project kde sa to riesi?

Diky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Já bych to řešil za pomocí providerů od Altairis...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Co se týče práce a používání identity v ASP.NET aplikaci, měla by se dnes již používat Claim-based identita (z Windows Identity Foundation), zdroje zde:

http://www.dotnetportal.cz/blogy/15/Null...

http://www.dotnetportal.cz/blogy/15/Null...

http://wug.cz/zaznamy/145-Autentifikace-...

Co se týče vlastního ukládání uživatelů a práv můžete si napsat vlastní, inspirace zde:

http://www.dotnetportal.cz/blogy/15/Null...

nebo můžete použít nějakého již existujícího membership providera jako např. Altairis Web Security Toolkit:

http://altairiswebsecurity.codeplex.com/

nebo novou verzi ASP.NET Identity providerů používanou v šabloně ASP.NET aplikace ve VS2013:

http://blogs.msdn.com/b/webdev/archive/2...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Autentifikaciu a autorizaciu budem pravdaze riesit podla WIF, Role Management uz mam porieseny ale zaujimalo ma presne clenenie stranok ci je vhodne napr pre kazdu rolu vytvarat osobitnu stranku.

napr: veduci prevadzky bude mat uvodnu stranku Default_veduci.aspx, ZoznamPracovnikov_veduci.aspxPracovnik na smene bude mat uvodnu stranku Default_PracovnikSmeny.aspx, PrihlasenieDoSmeny_PracovnikSmeny.aspx

Vsetky stranky(content) budu doplnane do ContentPlaceHolder-u stranky Main.master.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Rozhodně bych to řešil jednou stránkou a to:

Případ 1) Pokud budou mít tyto stránky pro jednotlivé role podobný obsah (např. budou obsahovat odkazy na funkce dostupné dané roli, tak bych řešil autorizací práva na dané funkce tj. ostatní stránky. Nejjednodušší je to nastavením ve web.config:

<location path="prihlasenie-do-smeny">
    <system.web>
      <authorization>
        <allow roles="PracovnikSmeny" />
        <deny users="*" />
      </authorization>
    </system.web>
  </location>

a na stránce default jednotlivé odkazy skrýval podle aktuálních práv nebo případně použil nějakou sitemap.

Případ 2) Pokud budou mít stránky obsah různý, tak bych ve stránce default použil multiview a v jednotlivých view bych měl odkaz na UserControly (ascx) pro jednotlivé role. Aktuální view bych pak nastavoval podle aktuálních práv.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Doteraz som pouzival foldre podla jednotlivych roli, v nich boli stranky aspx kde som cez web.config nastavil pristup pomocou lozation.

Linky skryvam cez sitemap podla elementu roles.

Podla roli bol uzivatel routovany na stranku kam ma pristup.

Len ma zaujimal nejaky iny sposob ako je to mozne spravit, ci ako to riesia iny, ci si nekomplikujem zivot tymto clenenim.

Casto sa mi stava ked prerabam kod podla poziadavky tak musim prepisat 5-6 stranok kde je podobny kod s mensimi upravami.

Je rozumne pouzivat v projekte dva modely? Jeden na pristup read a druhy readwrite.

V modely readwrite mam len tabulky a prepojenia.

V modely read mam ulozene view(ulozene na SQL servri) ktore pouzivam v EF.

Raz mi niekto povedal aby som to takto riesil kvoli bezpecnosti web aplikacie.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ty stránky (nebo ascx UserContoly) můžete podědit od jedné básové, ve které bude ten společný kód.

S tím rozdělením EF modelu na dva jsem se nikdy nesetkal, vždycky jsem měl EF model jen jeden.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback