从WebSharper 2.5 alpah docs引用远程处理组件假定:
RPC可调用方法可以安全地由未经身份验证的客户端从Web调用.
无论如何都要保护远程呼叫,以便只能从经过身份验证的客户端调用它们?
WebSharper网站上的一个示例是一个聊天应用程序,它似乎通过提供一个返回身份验证令牌的Login方法来做到这一点,然后需要调用其他函数:
[<Rpc>]
let Login (user: string) : Option<Auth.Token> =
let s = State.Get()
if s.Users.ContainsKey user then
None
else
// (snip)
user |> Auth.Generate |> Some
[<Rpc>]
let Poll (auth: Auth.Token) (time: int) =
// (snip)
Run Code Online (Sandbox Code Playgroud)
完整的聊天示例可以在这里找到:http://www.websharper.com/samples/Chat