Πώς μπορώ να ρυθμίσω το Microsoft Identity να σέβονται προεπιλεγμένα ονόματα αρχείων

ψήφοι
0

Είμαι προσπαθεί να μεταναστεύσουν από φόρμες ταυτότητας / ιδιότητας μέλους με την ταυτότητα asp.net.

Ένα θέμα που έχω συναντήσει: Αν μπορώ να ρυθμίσω το LoginPath στο «/ λογαριασμό /», αποσυνδεθεί χρήστες να καταλήξετε με ένα άπειρο βρόχο ανακατεύθυνσης (δεν είναι πραγματικά? Διατηρεί την παράταση της returnURL μέχρι τα μπλοκ του server του αιτήματος για το γεγονός ότι μια υπερβολικά μακρά σειρά ερωτημάτων ). Αυτό συμβαίνει για /account/, αλλά /account/default.aspxείναι προσιτή σε αποσυνδεθεί χρήστες. Πιστεύω ότι το θέμα είναι ότι κατά κάποιο τρόπο προεπιλογή έγγραφα αντιμετωπίζονται με διαφορετικό τρόπο από το middleware OWIN ό, τι είναι από τις μορφές ελέγχου ταυτότητας / IIS. Επί του παρόντος, «default.aspx» έχει ρυθμιστεί ως προεπιλεγμένη έγγραφο.

Προσπάθησα να τη χρησιμοποιούν UseFileServerγια να ρυθμίσετε DefaultFileNamesώστε να περιλαμβάνει «default.aspx», αλλά αυτό δεν φαίνεται να βοηθήσει. Προσπάθησα, επίσης, χρησιμοποιώντας path=. inheritInChildApplications=falseαντί της path=default.aspx, αλλά αυτό προκάλεσε μια «ενότητα Διαμόρφωση“system.web / άδεια”ήδη οριστεί» εξαίρεση, πιθανώς επειδή επικαλύπτονται με την προηγούμενη δήλωση system.web.

Αντιλαμβάνομαι ότι υπάρχουν αρκετές πιθανές ενδιάμεσες λύσεις:

  • ανέχονται default.aspxστη διαδρομή:
  • χρησιμοποιήστε MapPageRoutesαντί να βασίζεται σε προεπιλεγμένες σελίδες
  • ρυθμίσετε το web.config για να επιτρέψει / λογαριασμού και, στη συνέχεια, χρησιμοποιήστε διαδρομή τοποθεσία για να απενεργοποιήσετε το χέρι σε κάθε υποκατάλογο

Είναι ένας τρόπος για να πείσει Microsoft Identity ότι η φόρτωση εκεί /account/δεν απαιτεί έλεγχο ταυτότητας χωρίς τη χρήση των λύσεις στα σημεία σφαιρών παραπάνω;

public void Configuration(IAppBuilder app)
{
    app.UseFileServer(new FileServerOptions() {
                DefaultFilesOptions = {DefaultFileNames = {default.aspx}}});
    app.UseCookieAuthentication(new CookieAuthenticationOptions
    {
        AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
        LoginPath = new PathString(/account/)
    });
}

<!--/account/web.config-->
<configuration>
    <system.web>
      <authorization>
        <allow roles=activeuser />
        <deny users=* />
      </authorization>
    </system.web>   
    <location path=Default.aspx>
        <system.web>
            <authorization>
                <allow users=* />
            </authorization>
        </system.web>
    </location>
</configuration>
Δημοσιεύθηκε 27/11/2018 στις 17:36
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Ψηφοφορία για να κλείσετε το δικό μου ερώτημα ως αντίγραφο. Για αναφορά, αυτό μπορεί να επιλυθεί με την τροποποίηση της ρίζας web.config ως εξής:

<urlMappings>
  <add url="~/account/" mappedUrl="~/account/default.aspx"/>
</urlMappings>

Κάπως απέτυχε εντελώς να βρούμε https://stackoverflow.com/a/19154854/18192 , ενώ ερευνά αυτό το πρόβλημα.

Απαντήθηκε 30/11/2018 στις 18:36
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more