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

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

休息服務器應該如何管理用戶啟用?

休息服務器應該如何管理用戶啟用?

滄海一幻覺 2021-12-01 19:09:19
我有一個使用 javaee 7 和 react/redux 應用程序的 rest java 后端。n 個不同的客戶使用相同的應用程序。每個客戶可以要求 m 個與其他客戶的角色不同的角色。例如,一位客戶可以付費查看列表中另一位客戶不應該看到的列。問題是.. 是否有一種模式或方法可以輕松處理隱藏或顯示列表中的列或隱藏/顯示表單中的字段的可能性?(用戶啟用)CUSTOMER X 付費查看客戶列表中的電話號碼客戶 Y 根本不應該看到電話號碼。兩者發布的應用程序是相同的。服務器應該如何將此信息提供給前端應用程序而不與其耦合?謝謝。后來又補充了一個問題:是的,反應部分很清楚。我將添加一些信息以更清楚。重點是“如果我想從創建表單中隱藏電話號碼字段?” 服務器應該如何將此信息提供給前端?它應該發送一個空的數據對象嗎?
查看完整描述

1 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

這是一個簡化的示例,但它應該為您提供有關如何根據用戶角色有條件地獲取和呈現數據的基本概念。

  1. 前端調用API端點AUTH數據(userId以及token在此實例中)

  2. 后端根據身份驗證數據確定角色,返回與此角色相關的數據(例如,phone如果他們的角色允許,則包括)

  3. 前端呈現響應數據(例如,"Hidden"如果phone不存在則呈現)

以下是您的React組件的外觀:

class CustomerList extends Component {

    constructor(props) {

        super(props);

        this.state = {

            customers: []

        };

    }

    componentDidMount() {

        // fetch list data

        fetch('https://myapi.com/api/getCustomers', {userId: 12345, token: someToken})

            .then(res => res.json())

            .then(response => {

                this.setState({customers: response.customers});

            });

    }

    render() {

        const { customers } = this.state;

        return (

            <div className="customers">

                {customers.length && 

                    <ul>

                        {customers.map(customer => (

                            <li>

                                <div className="name">

                                    Name: {customer.name}

                                </div>

                                <div className="phone">

                                    Phone: {customer.phone || "Hidden"}

                                </div>

                            </li>

                        ))}

                    </ul>

                }

                {!customers.length && 

                    <div>Loading...</div>

                }

            </div>

        );

    }

}

角色只是一種建議。您可以在后端通過其他方式確定當前用戶有權查看哪些數據。關鍵是你返回給前端的數據應該只包含用戶有權查看的數據。您不應該返回所有數據,然后在前端有條件地呈現它。


查看完整回答
反對 回復 2021-12-01
  • 1 回答
  • 0 關注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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