ASP.NET MVC에서 여러 사용자 계정이 있고 각 항목에 많은 일반 CRUD 응용 프로그램이 있습니다. 사용자가 항목을 편집 할 때 ASP.NET MVC에서 URL의 ID 보호
, 그들은 숫자가 데이터베이스에서 행의 ID를 나타내는 URL과 같은 /편집/5에 그 일을 할 것입니다.한 명의 사용자에 대해 다른 사용자의 ID로 ID를 변경하고 변경할 수 있다는 것에 대한 우려가 있습니다. ID를 보호하기 위해 다음과 같은 솔루션은 나에게 발생 :
- 암호화는 그렇게 쉽게 변경할 수 없습니다 -하지만 물론 나는 그것을 다시 게시 할 때마다 암호를 해독하는 코드를 가지고있다.
- GUID가 ID 옆에도 생성되어 URL에서 사용되도록 데이터베이스 스키마를 변경하십시오.
- 쿼리의 모습 있도록 항목에 대한 쿼리에서 사용자의 사용자 ID 로그인 그대로 읽을 수있는 ID를두고 다음과 같습니다
database.Items.SingleOrDefault (C => c.UserID == [현재 로그인 사용자 ID] & & c.ID == itemID);
아마도 더 좋은 방법이나 생각하지 못한 방법이 있습니다. 이 문제를 방지하기 위해 선호하는 방법은 무엇입니까?
동의합니다. 사용자가 해당 항목을 편집 할 권한이 있는지 확인해야합니다. – pattersonc