亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在不授予匿名用戶訪問 Web 應用程序的權限的情況下從其獲取數據

如何在不授予匿名用戶訪問 Web 應用程序的權限的情況下從其獲取數據

PHP
喵喔喔 2023-09-15 10:15:11
我正在做一個項目。這是一個支持應用程序。關閉票證后,我通過電子郵件向客戶發送一份滿意度表格,這是一種 5 星級表格。我希望能夠從用戶那里獲取數據并保存它。示例:湯姆的訂單有問題,我們的團隊解決了問題。關閉票證后。我發送了這樣的滿意度表:我們的服務有多好,湯姆請給我們評分,湯姆點擊 4 星。這就是我現在試圖解決問題的方式:Tom 被重定向到一個頁面,上面寫著“感謝您對我們服務的信任”,并且評級被保存為像這樣的帖子方法www.oursite.com\thankyou\4現在應該很容易將湯姆的評論保存在我們的服務器中,但問題是:湯姆無法訪問oursite.com,他被重定向到登錄頁面。我的問題是:如何讓 Tom僅以訪客身份訪問www.oursite.com\thankyou 。這是我在 security.yml 中的訪問控制access_control:#        - { path: ^/dashBoard, role: IS_AUTHENTICATED_REMEMBERED }        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, allow_if: "not has_role('ROLE_USER')" }        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }        - { path: ^/faq/application, roles: IS_AUTHENTICATED_ANONYMOUSLY }        - { path: ^/faq/category, roles: IS_AUTHENTICATED_ANONYMOUSLY }        - { path: ^/, role: IS_AUTHENTICATED_REMEMBERED }        - { path: ^/api/login,      roles: IS_AUTHENTICATED_ANONYMOUSLY }        - { path: ^/api/getToken,      roles: IS_AUTHENTICATED_ANONYMOUSLY }        - { path: ^/api,            roles: IS_AUTHENTICATED_FULLY }#           This is the Thank you page               - { path: ^/thankYou, role: IS_AUTHENTICATED_ANONYMOUSLY} 如果您還需要什么,請告訴我。也許有一種更好的方法可以從電子郵件中獲取數據,而無需將用戶重定向到另一個頁面。 謝謝你
查看完整描述

2 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

我想出了怎么做。我有一個防火墻,每次我匿名連接時都會將我重定向到登錄頁面。

這就是我正在談論的防火墻:


backend:


      pattern: ^/

      provider: fos_userbundle

      form_login:

                csrf_token_generator: security.csrf.token_manager

                login_path:  /login

                check_path:  /login_check

                default_target_path: dashboard

#                success_handler: my_user_log.component.authentication.handler.login_success_handler

      logout:

                path: /logout

                target: /login

#                success_handler: my_user_log.component.authentication.handler.logout_success_handler      # redirect, no_redirect, redirect_without_path

      anonymous: true

這是我必須添加的防火墻:


        api_thankyou:

            pattern: ^/mail

            security: false 


查看完整回答
反對 回復 2023-09-15
?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

請注意,Symfony 會逐一記錄每個 access_control。一旦找到匹配的,它就會使用該匹配并停止。因此,當到達 時^/,它會注意到所有頁面都已通過身份驗證并重定向到登錄頁面


為了避免這種情況,thankYou 頁面的身份驗證路徑應該位于/^訪問控制之上:


access_control:

#        - { path: ^/dashBoard, role: IS_AUTHENTICATED_REMEMBERED }

#           This is the Thank you page       

        - { path: ^/thankYou, role: IS_AUTHENTICATED_ANONYMOUSLY}

        - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY, allow_if: "not has_role('ROLE_USER')" }

        - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }

        - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }

        - { path: ^/faq/application, roles: IS_AUTHENTICATED_ANONYMOUSLY }

        - { path: ^/faq/category, roles: IS_AUTHENTICATED_ANONYMOUSLY }

        - { path: ^/, role: IS_AUTHENTICATED_REMEMBERED }

        - { path: ^/api/login,      roles: IS_AUTHENTICATED_ANONYMOUSLY }

        - { path: ^/api/getToken,      roles: IS_AUTHENTICATED_ANONYMOUSLY }

        - { path: ^/api,            roles: IS_AUTHENTICATED_FULLY }


查看完整回答
反對 回復 2023-09-15
  • 2 回答
  • 0 關注
  • 132 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號