是否可以调用Web API来记录用户活动?

时间:2015-02-25 17:16:56

标签: asp.net angularjs

我的应用程序包含两个独立的项目 - UI项目(AngularJS)和Web API项目(ASP.NET)。

我想记录所有用户活动,例如按钮点击,用户登录等。

目前我在Angular中使用工厂来使用API​​,如下所示:

var urlBase = 'http://localhost:8298/user';

userDataFactory.insertUser = function (user) {
    return $http.post(urlBase + '/create', user);
};

现在我想将这些操作记录到具有存储过程的数据库中。但这些问题都在我身上。

是否可以复制上述内容但是调用将用户活动传递给存储过程的Log API?

我是否应该担心授权创建日志?否则任何人都可以通过调用路由来记录活动?

即使需要授权,用户也可以继续随意调用Log API并使用他们希望的任何数据填充它。

还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

如果您只是设置审核,则应该在服务器端进行,因此不可能有人破坏您的系统。

如果您必须执行此客户端,请创建一个例程来处理对服务的调用。而且,是的,我会进行某种类型的身份验证,因此没有人可以破坏您的活动。但是,如果有人打电话给服务器获取信息,甚至可以在服务器端跟踪客户端脚本,所以你仍然不需要从客户端登录,有人可以获取你的脚本并破坏你的意图。

你可以复制这个例程吗?当然,但为什么呢?如果你必须这样做,客户端添加一个"日志记录程序"。或者,更好的是,在创建用户的调用中,记录服务器端的访问权限。