في جافا تطبيق الويب (الحرب)، كيف يمكنني استخدام HTTP-المصادقة على محتوى ثابت؟
-
05-07-2019 - |
سؤال
ولدي جافا تطبيق الويب. يتم حزم تطبيق الويب باعتباره ملف الحرب. هذه حرب ملف تسمح محتوى ثابت، التي يتم تسليمها مباشرة عبر HTTP. لالسيرفلتس في هذه الحرب يمكنني جعل HTTP المصادقة (تنفيذه مع بريمج نفسه). ولكن أريد أيضا HTTP-المصادقة على محتوى ثابت. كيف يمكنني تحقيق ذلك؟
المحلول
وإنشاء فئة التي تطبق javax.servlet.Filter. انظر أساسيات شروط
والأسلوب الرئيسي هو doFilter التي يتم تمريرها الكائنات ServletRequest، ServletResponse وFilterChain. هذا هو المكان الذي فرض المصادقة.
وبعد ذلك أعلن الفلتر في web.xml وتعيين مرشح على النحو التالي (خرائط لكل طلب)
<filter>
<filter-name>Authentication Filter</filter-name>
<filter-class>
com.nfsdsystems.security.filters.AuthenticationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
نصائح أخرى
ووضع ملفات HTML ثابتة بك في دليل وتحديد القيود الأمنية الخاصة بك في web.xml الخاص بك. تعيين قيود على الدور المناسب.
<security-constraint>
<display-name>securedResources</display-name>
<web-resource-collection>
<web-resource-name>securedRes</web-resource-name>
<url-pattern>/secured/*</url-pattern>
<http-method>GET</http-method>
<http-method>PUT</http-method>
<http-method>HEAD</http-method>
<http-method>TRACE</http-method>
<http-method>POST</http-method>
<http-method>DELETE</http-method>
<http-method>OPTIONS</http-method>
</web-resource-collection>
<auth-constraint>
<description>
authenticatedUser_securedRes</description>
<role-name>authenticatedUsed</role-name>
</auth-constraint>
</security-constraint>
لا تنتمي إلى StackOverflow