asp.net 如何将C# .NET消息转换为其他区域性?

7dl7o3gd  于 5个月前  发布在  .NET
关注(0)|答案(1)|浏览(61)

我正在使用实体框架在我的系统中验证和注册新用户。我想知道如何将实体以及其他.NET包的默认返回消息更改为另一种区域性,例如西班牙语。
identity的英语输出示例:

请注意,“email protected(https://stackoverflow.com/cdn-cgi/l/email-protection)”已被占用。

kokeuurv

kokeuurv1#

因此直接从数据库或框架(如Entity Framework)提供返回是不安全的。例如,如果直接提供查询的返回,您也可能会共享错误。这样的错误消息可能包含您不想与最终用户共享的信息,例如数据库的结构,这可能会在SQL注入期间帮助潜在的攻击者。
在这种情况下,您可以创建一种中间件,例如API端点或服务。您首先运行查询,然后评估值并决定中间件应该返回什么,例如'' email protected(https://stackoverflow.com/cdn-cgi/l/email-protection) '已经被采用。'在查询和返回值之间,您可以执行不同的任务,例如转换和错误处理。
我在这里做了一个代码示例,也许可以帮助你:

string CheckIfUserExists(string language, string email)
    if email exists:
        if language == "en":
            reutnr "Sorry email taken"
        if language == "de":
            return "Entschuldigung die Emeil ist vergeben"

字符串
一个更好的解决方案是,服务器只返回0(不采取)或1(采取),例如。客户端向服务器发出请求,如果返回值为1,客户端将以正确的语言呈现相应的消息。
我希望这澄清了你的事情,如果你有任何问题,只要联系我

相关问题