1

私は solr を実行していますが、URL が localhost:8983/solr/#/core_1 および localhost:8983/solr/#/core_2 であるため、管理パネルへのアクセスを制限したいと考えていました。

管理ページに # 記号があることがわかります。通常の検索を行う場合は、localhost:8983/solr/core_1browse?q=asdf に移動します。ここにはハッシュがないため、省略できます。

私の webdefault.xml では、行 url-pattern は機能しますが、* は任意の文字を意味するため、人々が Web アプリを一緒に使用することをブロックします。/* の代わりに次のことを試しましたが、すべて何もしませんでした。これらを試すたびに、jetty サーバーを再起動しました。

試した : /solr 試した : /#/ 試した : # 試した : s

<security-constraint>
<web-resource-collection>
  <web-resource-name>Solr authenticated application</web-resource-name>
  <url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
  <role-name>admin-solr3</role-name>
</auth-constraint>

<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Test Realm</realm-name>
</login-config>
4

1 に答える 1

1

URL の「#」記号は URL パターンとして使用できません。

URL での「#」の使用は、URL フラグメント/アンカーを示しているため、リクエスト URL のその部分は Web ブラウザーによってサーバーに送信されません (一方、カスタム HTTP クライアント ライブラリはフラグメント/アンカー部分を送信できます)。 )

于 2012-08-20T23:17:15.473 に答える