ما هو الفرق بين ROLE_USER و ROLO_ANYONYOS في تكوين عنوان URL اعتراض الربيع؟

StackOverflow https://stackoverflow.com/questions/3435824

سؤال

ما هو الفرق بين ROLE_USER و ROLO_ANYONYOS في تكوين عنوان URL اعتراض الربيع مثل المثال أدناه؟

<http auto-config="false" access-decision-manager-ref="accessDecisionManager"
    use-expressions="true">
    <intercept-url pattern="/admin/**" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="http" />
    <intercept-url pattern="/login/**" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="${application.secureChannel}" />
    <intercept-url pattern="/error/**" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="http" />
    <intercept-url pattern="/register/**" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="${application.secureChannel}" />
    <intercept-url pattern="/" access="hasRole('ROLE_ANONYMOUS')"
        requires-channel="http" />
    <intercept-url pattern="/**" access="hasRole('ROLE_USER')"
        requires-channel="http" />
    <form-login login-page="/login" login-processing-url="/login/submit"
        authentication-failure-url="/login/error" />
    <logout logout-url="/logout" />
</http>
هل كانت مفيدة؟

المحلول

rob_anonymous هو الدور الافتراضي المخصص لمستخدم غير مصادق (مجهول) عندما يستخدم التكوين أمان الربيع مرشح "مصادقة مجهول" . يتم تمكين هذا افتراضيا. ومع ذلك ، ربما يكون أكثر وضوحًا إذا كنت تستخدم التعبير isanonymous () بدلا من ذلك ، الذي له نفس المعنى.

لا معنى له على rob_user إلا إذا قمت بتعيين هذا الدور للمستخدمين عند المصادقة (أنت مسؤول عن تحميل الأدوار (السلطات) لمستخدم مصادق عليه). إنه ليس اسمًا مدمجًا في البنية التحتية لـ Spring Security. في المثال المحدد ، من المفترض أن يتم تعيين الدور لمستخدم مصادق عليه.

نصائح أخرى

rob_anonymous لا يوجد لديه بيانات اعتماد المستخدم ، فقد تمت المصادقة على أوراق اعتماد المستخدم ....

هذا هو تفسيري بناءً على التكوين المقدم

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top