Exchange 2010 ma model delegowania, w którym grupy poleceń cmdlet winrm są zasadniczo pogrupowane w role, a role przypisane do użytkownika.
( Źródło obrazu )
Jest to świetny i elastyczny model, biorąc pod uwagę, w jaki sposób mogę wykorzystać wszystkie zalety PowerShell, przy jednoczesnym użyciu odpowiednich technologii niskiego poziomu (WCF, SOAP itp.) I nie wymagając dodatkowego oprogramowania po stronie klienta.
( Źródło obrazu )
Pytania)
Czy istnieje sposób na wykorzystanie modelu delegowania Exchange w mojej aplikacji .NET?
Czy ktoś próbował naśladować ten model?
Jeśli muszę zacząć od zera, to jak mam naśladować to podejście?
Odpowiedzi:
Dwa największe RBAC dla platformy .NET to NetSqlAzMan http://netsqlazman.codeplex.com/ i RhinoSecurity https://github.com/ayende/rhino-security
Jeśli skończysz na tym, że musisz zacząć od zera, możesz użyć jednego z powyższych jako bazy startowej.
źródło
Exchange zapewnia stały obszar działania i w rzeczywistości nie ma w nim żadnych poleceń cmdlet. Polecenia cmdlet wydają się w rzeczywistości funkcjami proxy. Twoje możliwości w obszarze roboczym są kontrolowane przez ograniczenie dostępnych funkcji proxy oraz możliwości każdego polecenia cmdlet, które są udostępniane przez funkcję proxy.
Powielanie polegałoby na opracowaniu procedur wypełniających obszar roboczy funkcjami proxy dostosowanymi do użytkownika żądającego obszaru roboczego, w oparciu o grupy ról, do których należą. Nie widzę żadnego powodu, dla którego grupy AD nie mogłyby być twoimi grupami ról.
Szczegóły implementacji byłyby specyficzne dla aplikacji, ale w zasadzie oznacza to, że możesz ograniczyć, kto może użyć, które parametry poleceń cmdlet, wybierając parametry, które funkcje proxy będą miały dla tego użytkownika i / lub ograniczając, jakie wartości funkcja będzie akceptować dla określonych parametrów.
źródło