我一直听说我不应该在我的asp.net mvc url中使用主键
例如:/ Users / Edit / 1243
这里有什么问题?
什么是替代方案,输入用户名?因为你希望它是独一无二的,看起来主键是最干净的选择
想法?
答案 0 :(得分:6)
我没有看到将主键放在URL上的任何问题(Stack Overflow的创建者和无数其他站点也是如此)。通常做的一件事是提供主键并提供SEO和用户友好的"slug",这是标识符链接到的数据的人类可读标题。
如果您打算识别资源(在您的情况下是用户帐户),则必须在URL上提供唯一标识符。即使您决定不使用主键,您仍必须选择无法更改的标识符。
答案 1 :(得分:3)
在URL中放置(数字)主键的问题之一是某人(或某些搜索引擎)可以开始用其他数字替换该数字,以查看您在数据库中获得的内容。这通常不是问题,但如果......
...你必须确保你在Action方法中检查权限,以确保没有人看到他们不应该看到的数据。只要您对每个请求进行适当的权限检查 - 主键不应该造成问题。
答案 2 :(得分:0)
可能有两个原因 - 安全保障 - SEO优化
将用户名放在一起似乎是个不错的选择
答案 3 :(得分:0)
我认为你应该保留这个主键 - 否则你将如何识别你的实体。
两点:
答案 4 :(得分:0)
使用主键没有任何实际问题,特别是如果它是int(guids用于丑陋的URL)。
编辑是一个不好的例子,如果你有像
那样的话www.example.org/users/1234
这并没有真正告诉你太多。如果它是个人资料页面,则非常违反直觉。
正确职位的正确网址。