Softwarevirtualisierung mit App V 5 192Unser Buch "Softwarevirtualisierung mit App-V 5"

Das deutsche App-V 5 Buch: 496 Seiten Wissen zu Microsoft App-V 5 (5.1 bis HF6). Ab Windows 7 bis Server 2016 mit Zusatzinhalten zu App-V mit VDI, Terminalservern, XenDesktop und SCCM Mit Fragestellungen zum Contentstore, Skripting, Hochverfügbarkeit usw.
3 minutes reading time (507 words)

Autentifizierung: IIS Express Single Sign-On und Internet Explorer

Code a180x180Wenn eine Single Sign-On Anwendung für das Active Directory erstellt werden soll, fällt auf, dass trotz aller aktiven Attribute dennoch immer eine Anmeldemaske kommt. Eine Anmeldung ist nicht einmal erfolgreich und wenn diese erfolgreich ist, werden dennoch nicht die korrekten Gruppen angezeigt. Insbesondere in Verbindung mit lokalen Gruppen und ohne eine Domäne. Das fine ich aber gerade zum testen sehr schön. In diesem Blog beschreibe ich kurz die Fallstricke und alles was zu konfigurieren ist.

Ich wollte das Thema zunächst mit lokalen Accounts austesten (das muss auch funktionieren). Daher habe ich den entsprechenden Anweisungsblock in meine meine „Web.config“ Datei eingefügt. Dieser Block sollte die Authentifizierung ermöglichen:

 

  <system.web>
...
    <authentication mode="Windows" />
...
    <authorization>
      <deny users="?" />
    </authorization>
...
    <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider">
      <providers>
        <clear />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/" />
      </providers>
    </roleManager>
    
  </system.web>

 

Im Anschluß daran, ist die "Loakle" Gruppe für den Controller zu berechtigen. Das funktioniert auch mit der SID. Gerade wenn man "Vordefiniert" verwendet währe das auf einem englischen System wieder eine "BUILDIN" Gruppe. und die Anwendung würde in dieser Umgebung nicht funktionieren.

 

     [Authorize(Roles = "S-1-5-32-545")] //Users
        public ActionResult Index()
        {
oder auch
[Authorize(Roles = "test")] //Users public ActionResult Index() {

 

Im unteren Codeschnipsel ist schon eine lokale Testgruppe defineirt "test". Für diese würde jetzt im IE eine Anmeldemaske erscheinen und funktioneren wird nichts. Hingegen "Vordefiniert\\Benutzer oder die SID dazu S-1-5-32-545 führen zu einer Anmeldung. Irgendetwas fehlt. Vielleicht die IE Sicherheit? Zumindest im Intranet mit "Localhost" sollte das funktionieren - tut es auch. Aber das vorweg. Es kann Umgebungen geben, wo genau hier gedreht werden muss. Dann aber immer in Verbindung mit HTTPS - zu Ihrer Sicherheit. Beispielsweise für die "Trusted Sides".

IE-SicherheitSicherheitstufe

Die Stufe "Lokales Intranet" und "Automatisches Anmelden nur in der Intranetzone sind ok. Nur funktioniert es nicht! Nun baue ich etwas in den Code ein, um mir alle Gruppen zeigen zu lassen:

        [Authorize(Roles = "S-1-5-32-545")] //Users
        public ActionResult Index()
        {
            string[] roleNames = Roles.GetRolesForUser();
            var list = roleNames.ToList();
            String str = String.Join(", ", list.ToArray());
            ViewBag.str = str;
            return View();
        }

Das sind alle Gruppen in denen mein Konto lokal mitglied ist? Nur die Gruppe "test" fehlt, die ich eigentlich Authorisieren wollte.

NT-AUTORITÄT\Microsoft Konto-Authentifizierung,
LOKAL,
VORDEFINIERT\Benutzer,
NT-AUTORITÄT\Diese Organisation,
NT-AUTORITÄT\Authentifizierte Benutzer,
Jeder,
NT-AUTORITÄT\INTERAKTIV,
VORDEFINIERT\Leistungsprotokollbenutzer,
KONSOLENANMELDUNG,
NT-AUTORITÄT\Lokales Konto

Gefunden habe ich letztlcih den IIS Express als Ursache. Der macht per Default keine Windows Autentifizierung! Das ist ein bisschen komisch, da hier Gruppen angezeigt werden, aber eben nicht alle Gruppen. Das Gleiche dürfte ach in verbindung mit dem Active Directory passieren. Es ist letztlcih ganz leicht. Man öffne:

"...\Documents\IISExpress\config\applicationhost.config"

                <windowsAuthentication enabled="true">
                    <providers>
                        <add value="Negotiate" />
                        <add value="NTLM" />
                    </providers>
                </windowsAuthentication>

 Also "windowsAuthentication enabled" auf "true". Nun funktioniert auch alles in der ENtwicklungsumgebung. Für meine lokalen Gruppen erhalte ich nun die folgende Anzeige:

NT-AUTORITÄT\Microsoft Konto-Authentifizierung
NT-AUTORITÄT\Diese Organisation
LOKAL, VORDEFINIERT\Benutzer
test,
NT-AUTORITÄT\Authentifizierte Benutzer,
Jeder, NT-AUTORITÄT\INTERAKTIV,
VORDEFINIERT\Leistungsprotokollbenutzer,
KONSOLENANMELDUNG,
NT-AUTORITÄT\Lokales Konto

Die Gruppe "test" ist enthalten und auf diese kann auch nun ohne ein "Anmeldefenster" im IE autorisiert werden:

[Authorize(Roles = "test")]

Was sas System nicht mag, ist noch ein Computername vor dem Gruppennamen. Also [Authorize(Roles = "COMPUTER\\test")] hat bei mir nicht funktioneirt.

 

Firefox, App-V 5 und Single Sign-on Asp.net Anwend...
mit Powershell die Gruppen und die SIDs der Gruppe...
 

Kommentare

Derzeit gibt es keine Kommentare. Schreibe den ersten Kommentar!
Bereits registriert? Hier einloggen
Gäste
Freitag, 22. November 2019

Sicherheitscode (Captcha)

Kontakt

Nick Informationstechnik GmbH
WEB : http://www.nick-it.de
TEL : +49 511 165.810.190
MAIL: info(at)nick-it.de

@nickinformation Tweets

MAD Newsletter


Unser Modern Application Deployment Newsletter. Ihre Daten werden auf Grundlage der DSGVO gespeichert. Dazu auch der Link Datenschutz. Sie können sich jederzeit abmelden.


Empfange HTML?

Joomla Extensions powered by Joobi

Most Popular Post

04. Mai 2015
NITCtxPatcher a patchmanager for Citrix XenApp and XenDesktop 7.xMay 2017 The NITCtxPatchManager is back, after some changes from Citrix on the websit...
02. April 2015
NIT-GPOSearch is a free tool to search in the Group Policy (admx, adml) definitions for a specific setting. New in Version 1.2 - search in the domain ...
14. März 2015
Attention: We have completed a new version 2.0. This version is not longer free (Version 1.4 is it). In DACH you can request a conversion with the con...
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen Ok