2008-12-09 14 views
7

Jestem programistą C#. Rozwijam zarówno aplikacje internetowe Windows &. Chciałbym zbudować aplikację WinForm, która ma system oparty na rolach. Wszyscy użytkownicy muszą mieć rolę/grupę/grupy. Następnie przypisujemy uprawnienia do "roli, grupy", "Zobacz, dodaj, zaktualizuj ...". Rola/grupa jest dynamiczna, więc pozwalamy użytkownikom ją zdefiniować.Wszelkie ramy dotyczące uwierzytelniania i autoryzacji dla aplikacji Windows Form?

Czy istnieją ramy i dobre przykładowe projekty do jego wdrożenia?

Odpowiedz

1

Zwykle uruchamiam własne, ponieważ platforma .NET Framework jest w pełni funkcjonalna pod tym względem, ale możesz wypróbować wersję MS Authorization and Profile Application Block.

+0

Muszę się nad tym zastanowić. Czy łatwo jest przypisać profile użytkowników i role do bazy danych? – w4g3n3r

+0

Nie wiem. Osobiście nigdy go nie używam ... –

1

Po szczegółowe szczegóły dotyczące implementacji, czy spojrzałeś na "zleceniodawców"? Zobacz moją odpowiedź here. Dzięki takiemu podejściu, można użyć ról opartych bezpieczeństwa w kodzie - takich jak:

[PrincipalPermission(SecurityAction.Demand, Role="ADMIN")] 
    static void SomeMethod() 
    {...} 

Sam wykonawczego będzie teraz sprawdzić, czy użytkownik musi mieć swój „admin” rolę aby dostać się do tej metody (oczywiście ci może również wyłączyć opcję w interfejsie użytkownika, sprawdzając IsInRole(...)). Bardzo potężny.

+2

Więc dlaczego problem polega na tym, że nie chcemy używać kodu "ADMIN" w naszym kodzie, ponieważ chcemy pozwolić użytkownikom na definiowanie siebie. – Samnang

+1

Następnie nie używaj ŻĄDANIA - po prostu sprawdź uprawnienia za pośrednictwem IsInRole. –

1

Jeśli nie jesteś zbyt chętny do ponownego odkrycia koła, zajrzyj do produktu o nazwie Visual Guard. Pozwala to łatwo dodać bezpieczeństwo do aplikacji przy minimalnym nakładzie pracy i ma naprawdę w pełni funkcjonalny zestaw narzędzi.

1

Jeśli masz już doświadczenie z ASP.NET, prawdopodobnie znasz już system ASP.NET Membership/Role/Profile, z domyślnymi dostawcami i możliwość dodawania własnych bez zbytniego wysiłku.

Czy nie byłoby wspaniale, gdyby można było wykorzystać to wszystko z poziomu aplikacji Windows Forms lub WPF? Tak? A więc spójrz na ASP.NET Application Services! Wystarczy skonfigurować witrynę internetową, aby podać adres URL uwierzytelniania, a następnie poprosić aplikację, aby z niego korzystała. Możesz utworzyć własne niestandardowe okno logowania i otworzyć usługi aplikacji w razie potrzeby lub użyć własnej logiki i samodzielnie wywołać metody.

Posiada pełne wsparcie dla trybu offline, w którym przechowuje wartość skrótu hasła do porównania, może także buforować role i umożliwia korzystanie z ustawień profilu.

Powiązane problemy